/*
 *   Copyright © 2011-2015 Kinghood Group All Rights Reserved.
 *   未经本公司正式书面同意，其他任何个人、团体不得使用、复制、修改或发布本软件.
 *   版权所有深圳金雅福控股集团有限公司 www.jinyafu.com.
 */

package com.kinghood.authoritycenter.common.model.vo.sys;

import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.apache.commons.lang3.StringUtils;
import org.springframework.format.annotation.DateTimeFormat;
import org.springframework.util.CollectionUtils;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Date;
import java.util.List;

/**
 * <p>
 * 系统数据字典表
 * </p>
 *
 * @author wangchao
 * @since 2019-06-12
 */
@Data
public class SystemDirectionDetailResDTO {

    private static final long serialVersionUID = 1L;

    private Long id;

    /**
     * 归属类型（0：组织中心，1，商品中心）
     */
    private String belongType;
    private List<Long> belongTypeList;

    /**
     * 类别编码
     */
    private String dataCode;

    /**
     * 类别名称
     */
    private String dataCodeName;

    /**
     * 数据key
     */
    private String dataKey;

    /**
     * 父ID 主要用户多级情况
     */
    private Long pId;

    /**
     * 数据值
     */
    private String dataValue;

    /**
     * 数据名称
     */
    private String dataName;

    /**
     * 数据描述
     */
    private String dataDesc;

    /**
     * 顺序
     */
    private Integer sortNumber;

    /**
     * 数字字典图片
     */
    private String pictures;

    /**
     * 状态 0禁用 1启用
     */
    @TableField("status")
    private Integer status;

    /**
     * 是否前端显示 0显示 1不显示
     */
    private Integer isFrontDisplay;

    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date createTime;

    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date updateTime;

    public void genBelongType() {
        if (StringUtils.isNotBlank(belongType)) {
            if (CollectionUtils.isEmpty(belongTypeList)) {
                String[] split = belongType.split(",");
                belongTypeList = new ArrayList<>();
                for (String s : split) {
                    belongTypeList.add(Long.parseLong(s));
                }
            }
        }
    }
}
